/***************************************************************************************
 *************************************聚合************************************************
 ***************************************************************************************/

领域对象=聚合对象=聚合根
领域种的大对象 多个entity 和val obj  可通过factories创建 or new
Order{
    //聚合根id
    private int id;
    private String orderNumber;
    ...
    ...
    //商品 子订单
    private List<OrderItem> items;
    //订单派送
    private OrderDelivery orderDelivery;
}

实体对象
OrderItem{
    int id；
    int skuId;
    GoodsVO goods;
}

实体对象
OrderDelivery{
    address;
    int state;
}

值对象  只读
GoodsVO{
    String name;
    String pic;
}


/***************************************************************************************
 ************************************应用服务和领域服务************************************
 ***************************************************************************************/


AccountController{
 -take(takeCommand)
 -transfer(transferCommand)
}

 TakeCommand{
 int id;
 int amount;
 }

TransferCommand{
 int sourceAccountId;
 int targetAccountId;
 bigDecimal amount;
}

应用服务层
AccountApplication{
 -take(command)
 -transfer(transferCommand)
}

领域服务层 操作无状态的规则  转账 A转B 谁转谁呢？ 他的出现为了操作多个entiry
AccountService{
 -transfer(transferCommand)
}

-- 有生命周期 状态如果变化 可domain event
Account{
 int id;
 int balance;
 -take(takeCommand)
}

